package org.example.RabbitMq.amqpService;

import java.util.List;

/**
 * @Author : zhangbo
 * @data : 2024/7/12
 * @description :
 */
public interface TableCacheSender {

    /**
     * .
     * @param list
     * @param routingKey
     * @param <T>
     */
    <T> void sendResetMsg(List<T> list, String routingKey);

    /**
     * 发送MQ业务队列消息
     *
     * @param MessageQueueName   注册到MQ队列的消息名称
     * @param list                  业务数据
     * @param routingKey            消息队列routingKey
     * @param <T>                   泛型数据
     */
    <T> void sendResetMsg(String MessageQueueName, List<T> list, String routingKey);

    /**
     * 发送延时消息(死信机制)
     * @param MessageQueueName
     * @param list
     * @param routingKey
     * @param delayTimes
     * @param <T>
     */
    <T> void sendDelayMsg(String MessageQueueName, List<T> list, String routingKey, Long delayTimes);
}
